import VeeValidate from "vee-validate";
//引入VeeValidate的中文包
import zh_CN from "vee-validate/dist/locale/zh_CN";
export default function (Vue) {
	Vue.use(VeeValidate);
	//对VeeValidate配置(必须写在use之后)
	VeeValidate.Validator.localize("zh_CN", {
		//message对象就是对提示信息的一个配置对象
		messages: {
			//首先展开一个中文包中因为的所有的配置信息
			...zh_CN.messages,
			regex: (m) => `${m}的值不符合我定义的正则`,
			is: (m) => `${m}的值必须和密码一致`,
		},
		// 对字段进行中文名的配置
		attributes: {
			phone: "手机号",
			code: "验证码",
			password: "密码",
			passAgain: "确认密码",
			agree: "协议",
		},
	});

	//配置一个新的规则
	VeeValidate.Validator.extend("agree", {
		//使用validate参数是一个函数,接受当前校验的值,如果通过则返回true 否则返回false
		validate: (value) => {
			//因为这个agree规则是写在input的多选框单个使用的表单上,所以值是一个布尔值,我们希望这个布尔值是true才能通过
			/* if(value===true){
        return true
      }else{
        return false
      } */
			return value;
		},
		//使用getMessage配置项 配置提示信息,接受的参数是当前的字段名
		getMessage: (m) => {
			return `${m}必须同意`;
		},
	});
}
